//  /=============================================================/
//  |   Auteurs  : J.JULLIEN / R.HERLEMAN / R.CHAILAN             |
//  |   Fichier  : main.c                                         |
//  |   Date     : 13/04/2009                                     |
//  |   Objet    : Procédure principale                           |
//  |                                                             |
//  /=============================================================/

#include <stdio.h>
#include <string.h>

#include "matrice.h"

int main(int argc, char ** argv) {
    
  if (argc >= 2) {
    FILE * f;
    if ((f = fopen(argv[1], "r")) != NULL) { 
      int valeur = 0; // Valeur choisie par défaut
      if (argc == 3) {
        if (strcmp(argv[2],"-0") == 0) {
          valeur = 0;
        } else{
          if (strcmp(argv[2],"-1") == 0) {
            valeur = 1;
          } else {
            printf("L'option %s n'existe pas\n", argv[2]);
            printf("utilisation : %s fichier [\"valeur a choisir (-0 ou -1)\"]\n", argv[0]);
            return -1;
          }
        }
      }
      t_MatriceCreuse mC = matriceCreerDepuisFichier(f);
      matriceSetVariableAChoisir(&mC, valeur);
      printf("Matrice créée\n");
  
      int res = matriceResolution(&mC);
      if (res) {
        printf("L'ensemble de clauses du fichier %s est satisfaisable\n", argv[1]);
        matriceAfficherValeurs(mC);
        //f = fopen(argv[1], "r");
        //printf("vérification du résultat : %d\n",matriceVerifierAffectation(mC,f));
      } else {
        printf("L'ensemble de clauses du fichier %s n'est pas satisfaisable\n", argv[1]);
      }
      return 0;
    } else {
      printf("le fichier %s n'existe pas\n", argv[1]);
      return -1;
    }
  } else {
    printf("utilisation : %s fichier [\"valeur a choisir (-0 ou -1)\"]\n", argv[0]);
    return -1;
  }
}

